import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)
import axios from 'axios';
export default new Vuex.Store({
  state: { // state 可以理解成 data 存放变量数据的
    content: '女装',
    day: 1, // 搬砖的天数
    list: [], // 存放要请求过来的数据的
    todoList: [] // 存放数据
  },
  getters: { // 相当于计算属性，可以对state里面的数据进行过滤处理
    money(state){
      return state.day*200;
    },
    runNum(state){
      return state.todoList.filter(item => !item.flag).length;
    },
    finishNum(state){
      return state.todoList.filter(item => item.flag).length;
    }
  },
  mutations: {
    add(state,val){
      state.content = val;
    },
    count(state){ // count 方法的名字，（随便起的一个名字）
      state.day++;
    },
    saveList(state,arr) {
      state.list = arr
    },
    saveTodo(state,val){ //todo 的 存储 
      state.todoList.push({flag:false,msg:val});
    },
    del(state,i){ // 删除的函数
      state.todoList.splice(i,1);
    }
  },
  actions: { // 就是处理异步逻辑的
    getList({commit}){ // getList 是一个方法名字，也是我们随便起的
      // console.log(ctx);
      // let  = ctx;
      axios.get('list.json').then(res => {
        commit('saveList',res.data);
      })
    }
  },
  modules: {

  }
})
